A typical office setting, such as an office employing 50 people, will not require 50 separate channels in order to provide adequate access to a telephony service such as voicemail. Most of the time, it would suffice to provide around 6 to 8 channels for these 50 people to be able to use the voicemail service. This is sufficient because not every employee will be attempting to access their voicemail at the same time. Such systems are engineered in order that the system is small as possible, while an adequate grade of service is made available to its users.
One manner in which such a traditional system can be engineered to make more efficient use of its resources is by the use of queuing. In a six-channel system that does not employ queuing, on the assumption that 6 users are concurrently using the voicemail system, and a seventh user is attempting to access the system, the seventh user would simply receive a busy signal during such attempts, until one of the previous users disconnects from the service. If queuing is employed, the seventh employee would not receive a busy signal, but would hear a standard ring-back tone. During that time, the call would be placed in a queue and would wait there until one of the 6 channels, or ports, becomes available.
FIG. 1 shows the interaction, in such a prior art system, between switch means 102 employing queuing and application means 104 providing a service, such as voice messaging. In such a system, queue 106 is maintained on the switch means 102. The switch means 102 must have detailed knowledge of the number of ports and their current busy/idle status in order to manage calls in the queue 106. Calls in the queue 106 are presented to the application means 104 only when a port becomes idle, i.e. available.
In a prior art system such as in FIG. 1, many steps are involved in the placement of a call. Firstly, a setup command is sent. In a situation where the application system may provide a plurality of services (eg. Voice Messaging or Automated Attendant), the setup message would identify which service the caller is trying to access. When such a setup command is received by the system, a determination is made as to what resources are needed in order to answer a call. If the necessary resources are available, then the call is answered; if the resources are not available, the switch parks the call until the resources become available. For example, a new call requesting speech-recognition may be queued if only four of the ports on the application system can provide the speech-recognition feature and those four ports are already in use.
However, the fact remains that queuing functionality is not available if it is not implemented on the switch itself. Therefore, the use of switches which do not implement queuing is not possible in networks that require this functionality.
Some prior art systems attempt to provide other types of queuing to non-switch means on systems which are very different technically from voice messaging. For instance, an authentication machine might accept userid and password combinations to provide access to a given domain. In this case, simultaneous access attempts are effectively queued by another means before they are processed. These requests are queued in a manner that is transparent to the authentication machine. However, such systems are very limited in nature and are not easily adaptable to either voice calls or to the provisioning of messaging services. Furthermore, such systems are not designed to accommodate the various particularities associated with having a live person making the call, and not just another machine. An example of such a particularity would be the necessity to provide an audible ring-back tone over the communication channel in the absence of available resources for the call type being requested.
Recently, there have been developments in the provisioning of telephony services over networks employing the Internet Protocol (IP), rather than over a public-switched telephone network (PSTN), in conjunction with a private branch exchange (PBX). Some of these IP-based PBXs do not yet have queuing capabilities. Moreover, the amount of information that must be provided in the call setup command will continue to increase as the number and sophistication of the provided services increases. With the increased functionality and bandwidth being provided by voice-over-IP systems, keeping track of this information at the switch itself will become burdensome and will restrict the performance of the switch.
A particular standard outlining the use of IP-based telephony services is the H.323 standard recommendation entitled “Packet-based multimedia communications systems”. This recommendation was published by the Telecommunication Standardization Section of the International Telecommunication Union (ITU-T) in February of 1998. An H.323 interface inherently provides for a route point intermediate state in which a call may be left indefinitely until resources become available. H.323 employs logical ports as opposed to physical ports in the setup of calls in such packet-based systems. The use of such logical ports could facilitate the provisioning of queuing as-part of an application-based solution, as opposed to relying on traditional switch queuing solutions. An alternative IP based standard is Session Initiation Protocol published as RFC 2543 by the Internet Engineering Task Force in March of 1999. It has a similar call model (where the setup phase is renamed invite) and logical ports.